package com.ruoyi.classai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.classai.domain.EwcResourceDetails;
import com.ruoyi.classai.domain.dto.resource.EwcResourceDetailsAddDto;
import com.ruoyi.classai.domain.dto.resource.EwcResourceDetailsQueryDto;
import com.ruoyi.classai.domain.vo.resource.EwcResourceDetailsVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 资源详情信息Service接口
 *
 * @author lcj
 * @date 2025-03-16
 */
public interface IEwcResourceDetailsService extends IService<EwcResourceDetails> {

    /**
     * 分页查询资源详情信息列表
     *
     * @param dto 查询参数
     * @return 分页结果
     */
    List<EwcResourceDetails> queryList(EwcResourceDetailsQueryDto dto);

    /**
     * 导出资源详情信息列表
     *
     * @param response           HTTP响应
     * @param ewcResourceDetails 查询条件
     */
    void export(HttpServletResponse response, EwcResourceDetails ewcResourceDetails);

    /**
     * 获取资源详情信息
     *
     * @param id 资源详情ID
     * @return 操作结果
     */
    EwcResourceDetailsVo getInfo(String id);

    /**
     * 新增资源详情信息
     *
     * @param dto 新增参数
     * @return 操作结果
     */
    void add(EwcResourceDetailsAddDto dto);

    /**
     * 修改资源详情信息
     *
     * @param dto 修改参数
     * @return 操作结果
     */
    void edit(EwcResourceDetailsAddDto dto);

    /**
     * 删除资源详情信息
     *
     * @param ids 资源详情ID数组
     * @return 操作结果
     */
    void remove(String[] ids);

    /**
     * 查询资源详情信息列表（不分页）
     *
     * @param dto 查询参数
     * @return 操作结果
     */
    List<EwcResourceDetailsVo> resourceDetailsList(EwcResourceDetailsQueryDto dto);
}
